ACPI ERST: Revert change to erst_check_table() to be more permissive.
authorKeir Fraser <keir@xen.org>
Tue, 9 Aug 2011 17:06:43 +0000 (18:06 +0100)
committerKeir Fraser <keir@xen.org>
Tue, 9 Aug 2011 17:06:43 +0000 (18:06 +0100)
Permits tables that apparently Xen cannot handle (causes boot failure
on many systems).

Signed-off-by: Keir Fraser <keir@xen.org>
xen/drivers/acpi/apei/erst.c

index e012cd39e010171e333da5428abf214f9ac3cee7..eb666a6fcab8e7c8cc9fc3c558116b4c357782a9 100644 (file)
@@ -715,13 +715,7 @@ int erst_clear(u64 record_id)
 
 static int __init erst_check_table(struct acpi_table_erst *erst_tab)
 {
-       /*
-        * Some old BIOSes include the ACPI standard header in the ERST header
-        * length; new BIOSes do not. Our check allows for both methods.
-        */
-       if ((erst_tab->header_length !=
-           (sizeof(struct acpi_table_erst) - sizeof(erst_tab->header)))
-           && (erst_tab->header_length != sizeof(struct acpi_table_erst)))
+       if (erst_tab->header_length != sizeof(struct acpi_table_erst))
                return -EINVAL;
        if (erst_tab->header.length < sizeof(struct acpi_table_erst))
                return -EINVAL;